/*
 * Version Notes:
 * 
 *  0.2
 *  20120819
 *      - Added the following constructors:
 *          - ContextException(java.lang.Throwable)
 *          - ContextException(java.lang.String, java.lang.Throwable)
 * 
 *      - Revised Javadoc.
 *          
 *  0.1 
 *      initiated
 */

package gr.uop.cst.context.base;

/**
 * <code>ContextException</code> objects indicate an <code>Exception</code> 
 * during the processes of the <code>gr.uop.cst.context.*</code> packages.
 * 
 * This class serves as the superset for the exceptions caused in the context
 * platform. It is advised to extend this class in case of an expansion of 
 * this platform.
 * 
 * @author Ioannis Bourlakos &lt;mi49@uop.gr&gt;
 * @version 0.2
 * @see java.lang.Exception
 * @see gr.uop.cst.context.mechanics.ContextObjectException
 * @see gr.uop.cst.context.mechanics.ContextProviderException
 * @see gr.uop.cst.context.mechanics.ContextSourceException
 * @since 0.1
 */
public class ContextException extends Exception {

    /**
     * Creates a default <code>ContextException</code>.
     * @see java.lang.Exception#Exception()
     * @since 0.1
     */
    public ContextException() {
    }

    /**
     * Creates a <code>ContextException</code>, including a message.
     * @param   msg is the message about the exception.
     * @see java.lang.Exception#Exception(String)
     * @see java.lang.Exception#getMessage()
     * @since 0.1
     */
    public ContextException(String msg) {
        super(msg);
    }
    
    /**
     * Creates a <code>ContextException</code> related to the exception
     * that caused it to occur.
     * @param cause is the exception that caused this exception.
     * @see java.lang.Exception#Exception(java.lang.Throwable)
     * @see java.lang.Exception#Exception(java.lang.String, java.lang.Throwable) 
     * @since 0.2
     */

    public ContextException(Throwable cause) {
        super(cause);
    }

    /**
     * Creates a <code>ContextException</code> related to the exception
     * that caused it to occur.
     * @param msg is a message about this exception.
     * @param cause is the exception that caused this exception.
     * @see java.lang.Exception#Exception(java.lang.String, java.lang.Throwable) 
     * @since 0.2
     */
    public ContextException(String msg, Throwable cause) {
        super(msg,cause);
    }


}
